Econometria Aplicada à Finanças
Aula 2

Mestrado Profissional em Administração

Prof. Washington Santos da Silva

IFMG - Campus Formiga

26 de agosto de 2025

Diário de Bordo

O que vimos até o momento?

  • Aula 1 ✅

    • Apresentação da Disciplina ✅
    • Introdução ao RStudio ✅
    • Configurando o Projeto da Disciplina ✅
    • Conheça e Utilize o Terminal Git Bash ✅

Por que?

Portaria CAPES Nº 60 de 20/03/2019

Art. 2º São objetivos dos cursos de mestrado e doutorado profissionais:

I - capacitar profissionais qualificados para práticas avançadas, inovadoras e transformadoras dos processos de trabalho, visando atender às demandas sociais, econômicas e organizacionais dos diversos setores da economia;

\(\vdots\)

III - contribuir para agregação de conhecimentos de forma a impulsionar o aumento da produtividade em empresas, organizações públicas e privadas;

IV – atentar aos processos e procedimentos de inovação, seja em atividades industriais geradoras de produtos, quanto na organização de serviços públicos ou privados;

\(\vdots\)

Nesta Aula

Tópicos

  • Curso Intensivo sobre as Ferramentas:
    • Git e GitHub
    • Introdução ao Sistema
    • Linguagem R
  • Sessão Prática: 02-relatorio.qmd
    • RStudio + Sistema Quarto + Linguagem R em ação

Arquivo para esta Aula: 02-relatorio.zip

Opção 1: Processo Manual

Arquivo para esta Aula

Opção 2: Pelo Terminal Git Bash

Usando os botões do mouse, copie e execiute a seguinte sequência de comandos no terminal Git Bash do RStudio:

curl -L -O https://washingtonsilva.github.io/site_mpa_ecnt2025/arquivos/02-relatorio.zip && unzip 02-relatorio.zip -d relatorios/02-relatorio/ && rm 02-relatorio.zip && rm -rf relatorios/02-relatorio/__MACOSX
  • Se a pasta relatorios/02-relatorio/ não existir, ela será criada automaticamente.

Arquivo para esta Aula: 01-atividade.zip

Opção 1: Processo Manual

Arquivo para esta Aula: 01-atividade.zip

Opção 2: Pelo Terminal Git Bash

Usando os botões do mouse, copie e execiute a seguinte sequência de comandos no terminal Git Bash do RStudio:

curl -L -O https://washingtonsilva.github.io/site_mpa_ecnt2025/arquivos/01-atividade.zip && unzip 01-atividade.zip -d atividades/01-atividade/ && rm 01-atividade.zip && rm -rf atividades/01-atividade/__MACOSX
  • Se a pasta atividades/01-atividade/não existir, ela será criada automaticamente.

Arquivo para esta Aula

Opção 2: Pelo Terminal Git Bash

Usando os botões do mouse, copie e execiute a seguinte sequência de comandos no terminal Git Bash do RStudio:

curl -L -O https://washingtonsilva.github.io/site_mpa_ecnt2025/arquivos/02-relatorio.zip && unzip 02-relatorio.zip -d relatorios/02-relatorio/ && rm 02-relatorio.zip && rm -rf relatorios/02-relatorio/__MACOSX
  • Se a pasta relatorios/02-relatorio/ não existir, ela será criada automaticamente.

Diretrizes para Aulas Mais Produtivas

⌨️ Código com método:

95% dos erros são evitáveis com:

  • Respeitar a sequência lógica de etapas
  • Revisão antes de pedir ajuda
  • Atenção na digitação

🤝 Inteligência colaborativa:

  • Compartilhe conhecimento
  • Resolva questões técnicas simples com colegas próximos
  • Reserve ao professor as dúvidas conceituais complexas

💪 Capacidade de Resolver Problemas

Cada problema/erro resolvido é uma evolução da sua habilidade analítica

Git e GitHub: Visão Geral

O que é Git?

Um Sistema de Controle de Versão

  • Um “sistema de salvamento inteligente” que registra cada versão dos seus documentos.
  • Armazena apenas as mudanças entre versões, economizando espaço.
  • Funciona como uma “máquina do tempo” para seu trabalho.
  • Facilita o trabalho em equipe.

Por que usar Git?

Principais vantagens

  1. Controle de Versão: Permite rastrear mudanças em seu código e suas alterações.
  1. Recuperação de trabalho: Se algo der errado, você pode voltar facilmente a uma versão anterior que funcionava.
  1. Evita a confusão de múltiplas versões: Adeus a arquivos como “Relatorio_Final_v2_Revisado_Corrigido.docx”.

    • Git não rastreia alterações internas em arquivos binários como .docx; ele apenas detecta que o arquivo mudou.
  1. Trabalho colaborativo organizado: Múltiplas pessoas podem trabalhar no mesmo projeto sem sobrescrever o trabalho umas das outras.
  1. Documentação automática: O histórico de alterações serve como documentação da evolução do projeto e do seu trabalho.

Por que usar Git?

Principais vantagens

  1. Padrão no mercado e na comunidade científica: Conhecimento valorizado e amplamente exigido.

O que é GitHub?

Uma plataforma online colaborativa baseada em Git

  • “Nuvem para projetos Git” - armazena seus repositórios online
  • Facilita compartilhamento e colaboração em projetos
  • Oferece ferramentas para revisão de código, discussão e documentação
  • Funciona como um portfólio para profissionais e estudantes

Comandos essenciais do Git

Comandos Essenciais

Os quatro comandos básicos que você usará com mais frequência (seu fluxo de trabalho padrão no Terminal do RStudio) são:

  1. git status: consulta o estado atual dos seus arquivos
  1. git add: prepara as mudanças para serem salvas
  1. git commit: salva as mudanças no repositório local
  1. git push origin main: envia as mudanças para o GitHub

Pense nestes comandos como um processo de 4 passos:

  1. Verificar o que mudou (status) -> arquivos e pastas em vermelho foram alterados/criados ou não estão sendo rastreados pelo Git.
  1. Adicionar o que você quer rastrear/salvar (add).
  • Veficar se os arquivos adicionados estão prontos para serem salvos (status novamente)
  1. Salvar as mudanças localmente com uma descrição (commit).
  1. Enviar para o GitHub (push) -> você verá um link para acessar o repositório no GitHub.

Publicando o Projeto no GitHub

Sincronizando o repositório local com o GitHub

Para publicar seu projeto no GitHub, você deve usar a seguinte sequência de comandos no terminal do RStudio:

  1. No terminal do RStudio, verifique quais arquivos/pastas foram modificados ou criados com:
git status
  1. Você pode adicionar todos os arquivos de uma vez com:
git add .
  1. Execute git status novamente para confirmar que todos os arquivos foram adicionados (aparecerão em verde sob “Changes to be committed”):
git status
  1. Se tudo estiver em verde, faça um commit com uma mensagem descritiva:
git commit -m "arquivo 02-relatorio.qmd inserido"
  1. Envie/Sincronize o repositório local atualizado para o GitHub:
git push origin main

Publicando o Projeto RStudio no GitHub

Se após git add . ainda houver arquivos em vermelho, adicione-os um por um

  • Se algum arquivo ou pasta ainda aparecer em vermelho após o segundo git status, adicione as pastas/arquivos um por um:
git add relatorios/02-relatorio/02-relatorio.qmd
  • Execute git status novamente e faça o commit quando todos os arquivos estiverem em verde :
git status
  • Se tudo estiver em verde, faça um commit com uma mensagem descritiva:
git commit -m "arquivo 02-relatorio.qmd inserido"
  • Envie/Sincronize o repositório local com o repositório no GitHub:
git push origin main

Publicando o Projeto RStudio no GitHub

Vá até seu repositório no GitHub

  • Atualize a página do seu repositório no GitHub (F5)

  • Verifique se os arquivos foram enviados corretamente

  • Se tudo estiver correto, você verá a estrutura de pastas e arquivos que criou no RStudio

Fluxo de trabalho com Git e GitHub

Figura 1: Fluxo de trabalho Básico

Boas práticas

Descrição

  • Versione o o que é importante

    • Código-fonte (arquivos .R, .py, .qmd)
    • Dados brutos (se não forem muito grandes)
    • Documentação (.md, README)
  • Ignore o que é regenerável

    • Resultados que podem ser recriados executando o código
    • Configurações específicas do ambiente de cada usuário
    • Arquivos temporários e de cache

Recursos adicionais

Introdução ao Sistema de Publicação Quarto

O que é o sistema de publicação Quarto?

Definição

  • É um sistema de publicação científica e técnica de código aberto que une texto narrativo e código para produzir documentos elegantemente formatados.

  • Com o Quarto, você pode criar diversos produtos:

    • Relatórios (html, pdf, docx )
    • Apresentações (RevealJS, Beamer,…)
    • Dashboards, websites, blogs e livros

Quarto, Programação Literada e Reprodutibilidade

Integração Conceitual

  • Programação Literada:
    Paradigma de programação que propõe escrever programas como textos legíveis para humanos, intercalando código e explicação.
  • Sistema Quarto:
    Evolução prática desse conceito, unindo texto, código (R, Python, Julia etc.) e resultados (tabelas, gráficos) em um único documento.
  • Reprodutibilidade Científica:
    Ao permitir que análises possam ser refeitas e verificadas por terceiros, o Quarto fortalece a transparência e a credibilidade da ciência.
  • 0 sistema Quarto conecta a visão original da programação literada à prática contemporânea da ciência de dados reprodutível, tornando-se ferramenta central para ensino, pesquisa, comunicação científica e também para a indústria.

O que é o sistema de publicação Quarto?

Figura 2: Sistema Quarto: um formato, diversos produtos.

Como funciona o Quarto?

Figura 3: Funcionamento do Sistema Quarto com a linguagem R.

Processamento

  • Quando você renderiza um arquivo Quarto (que possui a extensão .qmd) contendo código R, primeiro o pacote knitr da linguagem R executa todas as células de código R e cria um novo arquivo markdown (.md), que inclui o código e sua saída.
  • O arquivo markdown gerado é então processado pelo programa pandoc, que gera o formato escolhido.
  • O botão Render do Rstudio encapsula essas ações e as executa na ordem correta para você.

Criação e Renderização de Arquivos Quarto

Usando o RStudio

No RStudio, você pode criar e editar arquivos Quarto facilmente.

Em primeiro lugar, vamos criar uma subpasta para testes pelo terminal:

Opção 1

Clique na aba Files -> Clique em -> digite teste -> Ok

Opção 2

No terminal do RStudio, digite:

mkdir relatorios/testes

Criando um Arquivo Quarto

Usando RStudio

Opção 1

Para criar um arquivo quarto, clique em:

  • File → New File → Quarto Document

  • É criado um arquivo com um conteúdo padrão explicando elementos básicos do Quarto.

  • Salve o arquivo criado com o nome 01-teste.qmd na pasta relatorios/testes

Opção 2

No terminal do RStudio, digite:

touch relatorios/testes/01-teste
  • É criado o arquivo vazio 01-teste.qmd

Anatomia de um Arquivo Quarto

Anatomia de um Arquivo Quarto

Nota

Um arquivo Quarto (.qmd) consiste de três elementos fundamentais:

  1. Metadados (YAML): Controla o formato e opções do documento
  2. Texto em Markdown: O conteúdo narrativo do documento
  3. Células de Código: Código executável com suas opções

Metadados (YAML)

---
title: "Análise de Vendas"
author: "Seu Nome"
format: 
  html:
    toc: true
    theme: cosmo
execute:
  echo: true
  warning: false
---

Atenção à indentação!

  • A sintaxe YAML é sensível à indentação
  • Use sempre 2 espaços para aninhar elementos
  • Erros de indentação são a causa mais comum de problemas

Texto em Markdown

Código Markdown:

# Título da seção

Este é um parágrafo com **texto em negrito** e *itálico*.

- Item da lista
- Outro item
  - Subitem

[Link para tutorial](https://website.com)

Tutorial sobre Markdown

Tutorial completo

Acesse o tutorial sobre Markdown para mais detalhes.

Células de Código

Exemplo de célula de código R básica:

```{r}
# cria um vetor numérico de 1 a 10
x <- 1:10

# calcula a média amostral
mean(x)
```

O resultado é:

[1] 5.5

Células de Código

Como inserir células de código quarto no RStudio?

Você pode adicionar uma célula de código de três maneiras:

  1. Usando o atalho de teclado: Ctrl+Alt+I (Windows/Linux) ou Cmd+Option+I (Mac).

  2. Clicando no ícone CInsert a new code chunk” na barra superior de ferramentas do RStudio e selecionando “R”.

  3. Digitando manualmente os delimitadores de célula: ```{r} e `````.

Células de Código

Exemplo de célula de código R com opções:

```{r}
#| echo: true
#| warning: false
#| message: false

# Esta célula mostrará o código (echo: true), 
# mas ocultará avisos (warning) e mensagens
library(dplyr)
mtcars %>% 
  group_by(cyl) %>%
  summarise(
    n = n(),
    mpg_média = mean(mpg, na.rm = TRUE)
  )
```

Células de Código

O resultado do código anterior é:

# A tibble: 3 × 3
    cyl     n mpg_média
  <dbl> <int>     <dbl>
1     4    11      26.7
2     6     7      19.7
3     8    14      15.1

Células de Código inline

Código em linha

  • Além das células de código, você também pode incluir e executar código R diretamente no texto.

  • Por exemplo, a seguinte frase:

A média de um vetor que contén os inteiros entre 1 e 10 é `r mean(1:10)`
  • Produz:

A média de um vetor que contén os inteiros entre 1 e 10 é 5.5

Figura com legenda

```{r}
#| label: fig-1
#| fig-cap: "Gráfico de dispersão entre valor de mercado e ativo total de empresas brasileiras negociadas na B3."
#| echo: false

# Gráfico de dispersão entre valor_mercado e ativo_total
ggplot(dados, aes(x = ativo_total/1000000000, y = valor_mercado/1000000000)) +
  # cria um gráfico de dispersão
  geom_point() +
  # adiciona reta de regressão linear
  geom_smooth(method = "lm", se = FALSE) +
  # aplica um tema minimalista 
  theme_minimal() +
  # define títulos e rótulos dos eixos
  labs(title = "Gráfico de Dispersão entre Valor de Mercado x Ativos Totais",
       x = "Ativo Total (bilhões R$)",
       y = "Valor de Mercado (bilhões R$)",
       caption = "Fonte: Dados simulados pelo autor.")
```

Figura com legenda

Figura 4: Gráfico de dispersão entre valor de mercado e ativo total.

Tabela com Legenda

```{r}
#| label: tbl-valor-mercado
#| echo: false
#| tbl-cap: "Modelos de regressão linear para os determinantes do valor de mercado"

# aplica transformasção logarítmicas aos dados
df <- dados |>
  mutate(
    ln_valor_mercado = log(valor_mercado),
    ln_lucro_liquido = log(lucro_liquido),
    ln_ativo_total   = log(ativo_total)
  )

# -------------------------------------------------------------------
# 2) Modelos
# -------------------------------------------------------------------
m1 <- lm(ln_valor_mercado ~ ln_lucro_liquido + ln_ativo_total, data = df) 
m2 <- lm(ln_valor_mercado ~ ln_lucro_liquido, data = df)                 

# -------------------------------------------------------------------
# 3) Aparência da tabela
# -------------------------------------------------------------------
coef_map <- c(
  "(Intercept)"       = "Intercepto",
  "ln_lucro_liquido"  = "ln(Lucro líquido)",
  "ln_ativo_total"    = "ln(Ativo total)"
)

gof_map <- tibble::tribble(
  ~raw,            ~clean,         ~fmt,
  "nobs",          "Observações",   0,
  "adj.r.squared", "R² ajustado",   3,
  "fstatistic",    "Estatística F", 2
)

notas <- c(
  "Nota: a)Erros-padrão robustos à heterocedasticidade (HC3) entre parênteses.",
  "b) Colchetes exibem intervalos de confiança de 95%."
)

# -------------------------------------------------------------------
# 4) Tabela final 
# -------------------------------------------------------------------
tab <- modelsummary(
  models = list(
    "MQO (HC3) — Completo"   = m1,
    "MQO (HC3) — Reduzido"   = m2
  ),
  output     = "gt",                 # garante notas como rodapé (source note)
  vcov       = "HC3",
  coef_map   = coef_map,
  estimate   = "{estimate}",         # apenas coeficientes, sem estrelas
  statistic  = "({std.error}) [{conf.low}, {conf.high}]",
  conf_level = 0.95,
  fmt        = 3,
  gof_map    = gof_map,
  gof_omit   = "IC|AIC|BIC|Log.Lik",
  notes      = notas
)

# Ajustes de dimensão
tab |>
  gt::opt_table_font(size = 16) |>           # aumenta fonte da tabela
  gt::tab_options(table.width = gt::pct(100)) # expande tabela para 100% da largura do slide
```

Tabela com Legenda

Tabela 1: Modelos de regressão linear para os determinantes do valor de mercado
MQO (HC3) — Completo MQO (HC3) — Reduzido
Intercepto -0.252 2.784
(1.053) [-2.547, 2.043] (1.899) [-1.317, 6.886]
ln(Lucro líquido) 0.490 1.015
(0.137) [0.190, 0.789] (0.098) [0.804, 1.227]
ln(Ativo total) 0.599
(0.138) [0.299, 0.899]
Observações 15 15
R² ajustado 0.936 0.822
Nota: a)Erros-padrão robustos à heterocedasticidade (HC3) entre parênteses.
b) Colchetes exibem intervalos de confiança de 95%.

Opções comuns para células de código

Opção Descrição Exemplo
echo Mostrar o código? #| echo: true
eval Executar o código? #| eval: true
warning Mostrar avisos? #| warning: false
message Mostrar mensagens? #| message: false
label Identificador único para uma figura #| label: fig-1
label Identificador único para uma tabela #| label: tbl-1
fig-cap Legenda da figura #| fig-cap: "Gráfico de dispersão"
tbl-cap Legenda da tabela #| tbl-cap: "Tabela de dados"

Opções comuns para células de código

Configuração global

Defina opções de código para todo o documento no YAML:

execute:
  echo: false
  warning: false
  message: false

Renderizando um Arquivo Quarto

Opção 1:

  • É possível renderizar o arquivo clicando no botão Render do RStudio.

Renderizando um Arquivo Quarto

Opcão 2

Utilizar a função quarto_render do pacote quarto no Console R:

quarto::quarto_render("relatorios/testes/01-teste.qmd", output_format = "pdf")

Arquivo pdf: será gerado omente se você tiver instalado tinytex, o que pode ser feito com o comando no terminal:

quarto install tinytex

Aviso: A instalação pode demorar um pouco.

Renderizando um Arquivo Quarto

Opção 3

Utilizar o comando quarto render no terminal do RStudio.

quarto render relatorios/testes/01-teste.qmd --to docx

Dica

  • A renderização usando o comando quarto render no terminal ou a função quarto_render no console R, permite maior controle sobre a geração de arquivos.

Por que usar o sistema Quarto?

Principais benefícios

  • Reprodutibilidade: Documenta todo o processo de análise de dados, garantindo que seu trabalho possa ser reproduzido.
  • Integração de código e texto: Combina texto explicativo, código e resultados em um único documento.
  • Múltiplos formatos de saída: Gera diferentes formatos (html, pdf, docs, apresentações, dashboards, websites…) a partir do mesmo arquivo fonte.
  • Atualizações automáticas: Ao modificar dados ou código, basta renderizar o documento para atualizar todos os resultados.

Material para Estudo

Sessão Prática

Sessão Prática

RStudio + Sistema Quarto + Linguagem R

  • Abram o arquivo relatorios/01-relatorio/01-relatorio.qmd

Referências

WICKHAM, H. et al. R for data science: import, tidy, transform, visualize, and model data. 2. ed. [s.l.] O’Reilly Media, Inc, 2023.